# 10。3.1 册子
# import os
# os.remove('message.txt')

# 10.3.2 重命名文件和目录
# import os
# src = "cat.jpg"
# dst = "new_cat.jpg"
# if os.path.exists(src):
#   os.rename(src, dst)
#   print("文件重命名完毕！")
# else:
#   print("文件不存在！")

# 10.3.3 获取文件基本信息
import os
def formatTime(longtime):
  '''格式化日期时间的函数
    longtime: 要格式化的时间
  '''
  import time
  return time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(longtime))
def formatByte(number):
  '''格式化文件大小的函数
    number: 要格式化的字节数
  '''
  for (scale,label) in [(1024*1024*1024,"GB"), (1024*1024, "MB"), (1024,"KB")]:
    if number>= scale:  # 如果文件大小大于或等于1KB
      return "%.3f %s" %(number*1.0/scale,label)
    elif number == 1: # 如果文件大小为1字节
      return "1字节"
    else: #处理小于1KB的情况
      byte = "%2.f" %(number or 0)
  # 去掉结尾的.00 并且加上单位“字节”
  return (byte[:-3] if byte.endswith('.00') else byte) + " 字节"
if __name__ == '__main__':
  fileinfo = os.stat("20220311robot.mp4")
  print(fileinfo)
  # 输出文件的基本信息
  print("索引号:",fileinfo.st_ino)
  print("设备名:",fileinfo.st_dev)
  print("文件大小:",formatByte(fileinfo.st_size))
  print("最后一次访问时间:",formatTime(fileinfo.st_atime))
  print("最后一次修改时间:",formatTime(fileinfo.st_mtime))
  print("最后一次状态变化时间:",formatTime(fileinfo.st_ctime))